home *** CD-ROM | disk | FTP | other *** search
/ HamCall (October 1991) / HamCall (Whitehall Publishing)(1991).bin / bcast / fccrf / ampattrn.asc < prev    next >
Text File  |  1990-10-14  |  10KB  |  235 lines

  1. 10    CLS
  2. 20    DIM AR(3,720),F(25),SI(25),OF(25),S(25),EH(25)
  3. 30    RD=3.14159/180
  4. 40    PRINT"So...you want me to calculate the Theoritical and"
  5. 45    PRINT"Standard patterns for and array.  There are a couple"
  6. 50    PRINT"of things we should get straight from the outset:"
  7. 60    PRINT"I think in RADIANS so to convert your DEGREES to my"
  8. 70    PRINT"RAIANS I use an approximation of PI=3.14159.  Also,"
  9. 80    PRINT"I need a common reference point.  This means all "
  10. 85    PRINT"spacings and orientations must be refered to the same"
  11. 90    PRINT"tower.  I won't know what to do if you tell me tower 3"
  12. 95    PRINT"is N 100 E of tower 2 and towe 2 is N 50 E of tower 1."
  13. 100   PRINT"Please I'm just a helpless machine!"
  14. 110   PRINT"So then....":PRINT
  15. 120   INPUT"How many towerws are we talking about? ";TR
  16. 130   IF (TR >1) AND (TR < 13) AND (TR=INT(TR)) THEN 150
  17. 135   PRINT
  18. 140   PRINT"Yea...Right...";TR;" towers...come on!!!":PRINT:GOTO 120
  19. 150   PRINT:PRINT TR;" tower eh? ";
  20. 160   IF TR < 4 THEN PRINT"That won't be too hard.":GOTO 190
  21. 170   IF TR > 8 THEN PRINT"This is a joke, right":GOTO 190
  22. 180   PRINT"I guess I'll have to work for my  kilowatts today!"
  23. 190   PRINT:PRINT"Now you'll have to decide if you want to give me the"
  24. 195   PRINT"Field Radios of the towers or you have to give me the "
  25. 200   PRINT"Current and Base Impedance for each tower."
  26. 210   PRINT:PRINT"           1   FIELD RATIOS"
  27. 220   PRINT"           2   CURRENT & IMPEDANCE"
  28. 230   PRINT:INPUT"It's your recision --> ";C1
  29. 240   IF (C1=1) OR (C1=2) THEN 260
  30. 245   PRINT:PRINT
  31. 250   PRINT"NO..NO..NO  you have to make a VALID choice!!!":PRINT:GOTO 210
  32. 260   ON C1 GOTO 280,330
  33. 270   PRINT "Internal program eror line 250":END
  34. 280   PRINT
  35. 290   FOR X=1 TO TR
  36. 300   PRINT"What is the FIELD RATIO for tower #";X;:INPUT "  ";F(X)
  37. 310   NEXT X
  38. 320   GOTO 440
  39. 330   PRINT
  40. 340   FOR X=1 TO 2
  41. 350   FOR Y=1 TO TR
  42. 360   IF (X=1)THEN PRINT"Give Base Impedance of TOWER #";Y;:INPUT"  ";I(Y)
  43. 370   IF (X=2)THEN PRINT"Give Base Current of TOWER #";Y;:INPUT"  ";C(Y)
  44. 380   NEXT Y:PRINT:NEXT X
  45. 390   FOR Y=1 TO TR:F(Y)=C(Y)^2*I(Y):NEXT Y
  46. 400   RF=F(1)
  47. 410   FOR Y=1 TO TR:F(Y)=F(Y)/RF:NEXT Y
  48. 420   PRINT
  49. 430   FOR Y=1 TO TR
  50. 435   PRINT"The FIELD RATIO of Tower #";Y;" is ";F(Y): NEXT Y
  51. 440   PRINT
  52. 445   PRINT"OK, now give me the eletrical PHASE (current) in each tower."
  53. 450   PRINT"Remember these are not the same as the phase indications";
  54. 455   PRINT" on your antenna monitor (unless your're really LUCKY)!!!"
  55. 460   PRINT
  56. 470   FOR X=1 TO TR
  57. 480   PRINT"What is the Phase Angle of Tower #";X;:INPUT"  ";SI(X)
  58. 490   NEXT X
  59. 500   PRINT
  60. 505   PRINT"Now give me the physical characteristics of the array."
  61. 510   PRINT"Let's start with the physical height expressed in electrical"
  62. 520   PRINT"degrees.  At this point in time I am NOT capable of doing any"
  63. 530   PRINT"kind of sectionalized tower...."
  64. 535   PRINT"Nightly I pray to Programmer to allow me this feature."
  65. 540   FOR X=1 TO TR
  66. 550   PRINT"What is the height of Tower #";X;:INPUT"  ";EH(X)
  67. 560   NEXT X
  68. 570   PRINT
  69. 580   FOR X= 1 TO TR
  70. 590   PRINT"What is the relative spacing between REFERENCE and Tower #";X
  71. 595   INPUT"  ";S(X)
  72. 600   NEXT X
  73. 610   PRINT:PRINT"And finally, ":PRINT
  74. 620   FOR X= 1 TO TR
  75. 630   PRINT"What is the orientation (degrees from TRUE North)of Tower #";X
  76. 635   INPUT"  ";OF(X)
  77. 640   NEXT X
  78. 650   PRINT:PRINT"Just a couple more itmes and we'll be ready to start"
  79. 655   PRINT
  80. 660   PRINT"To generate the theoritical pattern I will need a Pattern"
  81. 665   PRINT"Multiplier (mV/m).  To convert the Theoritical to the "
  82. 670   PRINT"Standard pattern I will need a 'Q' factor.  To make things"
  83. 680   PRINT"easier for me I will allow you to chose any Pattern multiplier"
  84. 690   PRINT" and 'Q' factor you desire."
  85. 700   INPUT"What is the value of the Pattern Multiplier ";K
  86. 710   INPUT"What is the value of the 'Q' factor ";Q
  87. 720   CLS
  88. 730   PRINT"OK, now that I know what your array looks like, I need"
  89. 740   PRINT"to know what information you want from me.":PRINT
  90. 750   PRINT"I calculate the pattern for every 0.5 degree of azimuth, 0-359.5"
  91. 760   PRINT"degrees.  You may specify the starting and ending azimuth."
  92. 765   PRINT
  93. 770   INPUT"Start calculating at what Azimuth (0=True North) ";AS
  94. 780   INPUT"Stop calculating at what Azimuth (not over 359.5) ";AE:PRINT
  95. 790   PRINT"I will calculate the patterns from ";AS;" to ";AE;" degrees."
  96. 800   PRINT"Please note that the RMS value will be only"
  97. 805   PRINT"for the span you indicated."
  98. 810   PRINT:PRINT"Now give me the elevation angle (0=horizon) you wish."
  99. 820   PRINT"I can calculate for any specified elevation"
  100. 825   PRINT"from 0 to 90 degrees"
  101. 830   PRINT:INPUT"What elevation angle do you desire  ";EA:PRINT
  102. 840   PRINT"At this time I am not capable of accepting your"
  103. 845   PRINT"augmentation data. The necessary code can be found at the"
  104. 850   PRINT"end of my program if you desire to activate it."
  105. 860   PRINT"There is dummy data just before the augmentation routine"
  106. 865   PRINT"as a sample.  You may wish to perform surgery on my code."
  107. 870   PRINT
  108. 880   PRINT"Finally, you can specify the interval from your start azimuth"
  109. 890   PRINT"that printed data is required.  Thus you can have a print out"
  110. 900   PRINT"of every .5 degrees, 5 degrees or every 10 degrees etc."
  111. 910   PRINT"Just be sure your interval is a multiple of .5 degree.":PRINT
  112. 920   INPUT"What interval do you desire for output  ";IV
  113. 925   REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  114. 930   REM calculate vertical plane radiation characteristics
  115. 940   PRINT "THEORITICAL AND STANDARD PATTERN CALCULATIONS"
  116. 950   PRINT "FOR AN ARRAY OF ";TR;" TOWERS GIVEN THE FOLLOWING"
  117. 960   PRINT "ARRAY PARAMETERS"
  118. 970   PRINT
  119. 980   PRINT "        FIELD","PHASE","RELATIVE","ORIENTATION","ELECTRICAL"
  120. 990   PRINT "        RATIO","ANGLE","SPACING"," ","HEIGHT"
  121. 1000  FOR X=1 TO TR
  122. 1010  PRINT "TOWE #";X;"   "F(X),SI(X),S(X),OF(X),EH(X)
  123. 1020  NEXT X
  124. 1030  FOR X=1 TO TR
  125. 1040  FI(X)=(COS(RD*EH(X)*SIN(RD*EA))-COS(EH(X)*RD))/((1-COS(EH(X)*RD))*COS(RD*EA))
  126. 1050  NEXT X
  127. 1060  PRINT
  128. 1070  PRINT "AND GIVEN AN ELEVATION ANGLE OF ";EA;" DEGREES,"
  129. 1080  PRINT 
  130. 1090  PRINT "THE VERTICAL RADIATION CHARACTERISTIC OF EACH TOWER IS:"
  131. 1100  FOR X=1 TO TR
  132. 1110  PRINT "      TOWER #";X;":  ";FI(X)
  133. 1120  NEXT X
  134. 1130  CS=COS(EA*RD)
  135. 1135  PRINT
  136. 1140  PRINT "THE VALUE FOR THE COS(ELEVATION ANGEL) USED THE FIELD"
  137. 1150  PRINT "EQUATION IS CONSTATNT AT ALL AZIMUTHS FOR A GIVEN ELEVATION"
  138. 1160  PRINT "FOR AN ELEVATION ANGLE OF ";EA;" DEGREES THE COSINE IS ";CS
  139. 1165  PRINT
  140. 1170  PRINT "ASSUMING A PATTER MULTIPLIER OF ";K;" mV/m AND A Q OF ";Q
  141. 1180  PRINT
  142. 1190  PRINT "AZIMUTH        THEORITICAL        STANDARD"
  143. 1200  FOR AZ = AS TO AE STEP .5
  144. 1210  IF AZ/IV <> INT(AZ/IV) THEN 1230
  145. 1220  PRINT AZ,
  146. 1230  FOR X=1 TO TR
  147. 1240  T1=OF(X) - AZ
  148. 1250  T1=COS(T1*RD)
  149. 1260  T1=T1*CS
  150. 1270  T1=T1*S(X)
  151. 1280  FA(X)=T1+SI(X)
  152. 1290  RF(X)=F(X)*FI(X)
  153. 1300  X(X)=RF(X)*SIN(RD*FA(X)):Y(X)=RF(X)*COS(RD*FA(X))
  154. 1310  NEXT X
  155. 1320  X1=0:Y1=0
  156. 1330  FOR X=1 TO TR
  157. 1340  X1=X1+X(X):Y1=Y1+Y(X)
  158. 1350  NEXT X
  159. 1360  M=SQR(X1^2+Y1^2)
  160. 1370  TP=K*M:SP=SQR((K*M)^2+Q^2)
  161. 1380  N7=N7+1:AR(0,N7)=AZ*10:AR(1,N7)=TP:AR(C,N7)=SP:AR(3,N7)=SP
  162. 1390  IF AZ/IV <> INT(AZ/IV) THEN 1410
  163. 1400  PRINT TP,SP
  164. 1410  NM=NM+1:AB=AB+TP^2:BA=BA+SP^2
  165. 1420  NEXT AZ
  166. 1430  PRINT "RMS THEORITICAL = ";SQR(AB/NM)
  167. 1440  PRINT "RMS STANDARD    = ";SQR(BA/NM)
  168. 1450  NM=0:AB=0:BA=0
  169. 1460  PRINT:PRINT
  170. 1465  REM ```````````````````````````````````````````````````````
  171. 1470  REM AUGMENTATION...AUGMENTATION
  172. 1480  REM CALCULATE END POINT OF SPAN...CA IS CENTRAL SPAN
  173. 1485  REM SP IS SPAN OF AUGMENT..MV IS MV/AT CENTRAL AZIMUTH
  174. 1490  CA= 2!:SP= 12!:MV= 70!:GOSUB 1690
  175. 1500  CA=61!:SP= 14!:MV=155!:GOSUB 1690
  176. 1510  CA=77!:SP= 17!:MV= 62!:GOSUB 1690
  177. 1520  CA=85.5:SP= 17!:MV= 60!:GOSUB 1690
  178. 1530  CA=100 :SP= 29!:MV= 69!:GOSUB 1690
  179. 1540  CA=115 :SP= 20!:MV= 80!:GOSUB 1690
  180. 1550  CA=125 :SP= 20!:MV= 70!:GOSUB 1690
  181. 1560  CA=135.5:SP=15!:MV= 60!:GOSUB 1690
  182. 1570  CA=195 :SP= 30!:MV=400!:GOSUB 1690
  183. 1580  CA=210 :SP= 26!:MV=325!:GOSUB 1690
  184. 1590  CA=223 :SP= 25!:MV=195!:GOSUB 1690
  185. 1600  CA=235.5:SP=19!:MV=148.5:GOSUB 1690
  186. 1610  CA=245 :SP= 19!:MV=170!:GOSUB 1690
  187. 1620  CA=255 :SP= 20!:MV=240!:GOSUB 1690
  188. 1630  CA=279 :SP= 48!:MV=370!:GOSUB 1690
  189. 1640  CA=310 :SP= 52!:MV=250!:GOSUB 1690
  190. 1650  CA=346 :SP= 19!:MV= 71!:GOSUB 1690
  191. 1660  CA=355.5:SP=13!:MV= 61.4:GOSUB 1690
  192. 1670  GOSUB 1970
  193. 1680  GOTO 1900
  194. 1690  HS=SP/2
  195. 1700  SS=CA-HS
  196. 1710  ES=CA+HS
  197. 1715  PRINT
  198. 1720  PRINT"AUGMENTATION OF THE ";CA;" AZIMUTH (DEGREES TRUE)"
  199. 1730  PRINT"OVER A SPAN OF ";SP;"DEGREES FOR AN FIELD OF ";MV;"mV/M"
  200. 1740  PRINT
  201. 1750  A=MV^2-AR(3,(CA*2)+1)^2
  202. 1760  FOR X=SS TO ES STEP .5
  203. 1770  IF X <  0   THEN Y=X+360:GOTO 1800
  204. 1780  IF X >= 360 THEN Y=X-360:GOTO 1800
  205. 1790  Y=X
  206. 1800  TB=(Y*2)+1
  207. 1810  D=ABS(CA-X)
  208. 1820  T1=COS((180*(D/SP))*RD)
  209. 1830  NF=SQR(AR(3,TB)^2+(A*T1^2))
  210. 1840  AR(3,TB)=NF
  211. 1850  GOTO 1870
  212. 1860  PRINT AR(O,TB)/10,AR(1,TB),AR(2,TB),AR(3,TB)
  213. 1870  NEXT X
  214. 1880  RETURN
  215. 1890  PRINT "AZIMUTH        THEORITICAL        STANDARD        AUGMENTED"
  216. 1900  FOR X=1 TO 720
  217. 1910  IF (AR(0,X)/10)/10 <> INT(AR(0,X)/10)/10 THEN 1930
  218. 1920  PRINT AR(0,X)/10,AR(1,X),AR(2,X),AR(3,X)
  219. 1930  MS=MS+AR(4,X)^2
  220. 1940  NEXT X
  221. 1950  PRINT "RMS AUGMENTED = ";SQR(MS/720)
  222. 1960  END
  223. 1970  PRINT CHR$(4);"OPEN WOHO.DAY.PTTRN"
  224. 1980  PRINT CHR$(4);"WRITE WOHO.DAY.PTTRN"
  225. 1990  FOR X=1 TO 720
  226. 2000  PRINT AR(1,X):PRINT AR(3,X)
  227. 2010  NEXT X
  228. 2020  PRINT CHR$(R);"CLOSE"
  229. 2030  RETURN
  230. 3000  REM BY PETER WALKOWIAK
  231. 3010  REM    WWWM/WOHO
  232. 3020  REM    P.O. BOX 167581
  233. 3030  REM    TOLEDO, OH. 43616
  234. 3040  REM    419/255-1470
  235.